/* 走廊面板开关程序*/

//从外进来，开入户门，门传感器检测到门状态变化，并且走廊上的热释红外没有检测到人，刚开启入门和走廊上的灯

#include"stc15.h"
#include"uart.h"
#include"port_mode.h"
#include"esp8266ini.h"

#define S1_S0 0x40              //P3.6
#define S1_S1 0x00              //P3.7

#define led_on 0
#define led_off 1

sbit led = P0.0;

int j;

unsigned char trsBuf[100];


extern unsigned char trsLen ;
extern unsigned char *trsP;

void port_mode();

void main()
{
	port_mode();				 //因为是IAP15w的端口默认是高阻态，要改成普通IO

	 Uart_Config();				//串口的波特率和使能配置

	 Uart_Com_Ini();		    //通迅协议参数的初始化
 
     esp8266ini();              //设置进入UDP广播透传模式

	
	//--------------------------------------------------------
	 ACC = P_SW1;
     ACC &= ~(S1_S0 | S1_S1);    //S1_S0=1 S1_S1=0
     ACC |= S1_S0;               //(P3.6/RxD_2, P3.7/TxD_2)
     P_SW1 = ACC; 				 //把串口从P3.0,P3.1 移到P3.6，P3.7
	
	while(1)
	{
		 if ((rcvOk == 1)&&(rcvBuf[1] == 1))//rcvBuf[1]值为1说明此开关面板地址为1
		{	
	  	  rcvOk = 0; 
		  switch (rcvBuf[2])//rcvBuf[0]代表正式接收的数据个数包括功地址位，功能位和校验位如： 3个数据
                            //rcvBuf[0]值为3,rcvBuf[1]值为1，则rcvBuf[2]值为1，rcvBuf[3]值为5
                                       
		  {
			case 0 : led = led_off; //二级管灯正级接VCC，负极接P0.0
			case 1 : led = led_on;
            default : break;
                    
		  }
		  
		}
	}

}

void port_mode() // 端口模式（准双向、弱上拉）
{
    P0M1=0x00;P0M0=0x00;P1M1=0x00;P1M0=0x00;P2M1=0x00; 
    P2M0=0x00;P3M1=0x00;P3M0=0x00;
    P4M1=0x00;P4M0=0x00;P5M1=0x00;P5M0=0x00;P6M1=0x00; 
    P6M0=0x00;P7M1=0x00;P7M0=0x00; 
}